#pragma once
#include "ckObject.h"
#include "zCore.h"
#include <string>
#include <vector>

namespace ck
{
	class EnumString;
	class EnumDataset;

	namespace data
	{
		class Dataset;
		class RasterDataset;
		class EnumDataset;

		class ZCORE_API Workspace : public ckObject
		{
		public:
			Workspace();
			virtual ~Workspace();

		public:
			void		SetName(const char* szName);
			const char*	GetName();
			void		SetPath(const char* szPath);
			const char*	GetPath();

		public:
			EnumDataset*	GetDatasets();
			EnumString*		GetDocuments();

		protected:
			RESULTCODE		LoadDatasets();
			void			Cleanup();

		protected:
			std::string m_strName;
			std::string m_strPath;
			std::string m_strRasterPath;
			std::string m_strDocPath;

			std::vector<RasterDataset*>	m_datasets;
		};

	}
}


